#pragma once
#ifndef _fastbird_SpatialObject_header_included_
#define _fastbird_SpatialObject_header_included_

#include <Engine/Foundation/Object.h>
#include <CommonLib/Math/Transformation.h>

namespace fastbird
{
	class SpatialObject : public Object
	{
	public:
		SpatialObject();
		virtual ~SpatialObject();

		virtual void SetPos(const Vec3& pos);
		virtual void SetRot(const Quat& rot);
		virtual const Vec3& GetPos() const;
		virtual const Quat& GetRot() const;

		virtual void SetDistToCam(float dist);
		virtual float GetDistToCam() const;

	protected:
		Transformation mTransformation;
		float mDistToCam;

	};
}

#endif //_fastbird_ISpatialObject_header_included_